using System.Collections.Generic;

namespace VSSDKAssist.Enums
{
	/// <summary>
	/// Visual Studio menu ids enum
	/// </summary>	
	public static class VSShellMenuId
	{
		[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1810:InitializeReferenceTypeStaticFieldsInline")]
		static VSShellMenuId()
		{
			values = new SortedDictionary<string, string>();
			values.Add("File menu", "IDM_VS_MENU_FILE");
			values.Add("Edit menu", "IDM_VS_MENU_EDIT");
			values.Add("View menu", "IDM_VS_MENU_VIEW");
			values.Add("Debug menu", "IDM_VS_MENU_DEBUG");
			values.Add("Refactor menu", "IDM_VS_MENU_REFACTORING");
			values.Add("Project menu", "IDM_VS_MENU_PROJECT");
			values.Add("Build menu", "IDM_VS_MENU_BUILD");
			values.Add("Format menu", "IDM_VS_MENU_FORMAT");
			values.Add("Tools menu", "IDM_VS_MENU_TOOLS");
			values.Add("Window menu", "IDM_VS_MENU_WINDOW");
			values.Add("Addins menu", "IDM_VS_MENU_ADDINS");
			values.Add("Community menu", "IDM_VS_MENU_COMMUNITY");
			values.Add("Help menu", "IDM_VS_MENU_HELP");
						
			values.Add("ErrorList", "IDM_VS_CTXT_ERRORLIST");
			values.Add("Toolbox", "IDM_VS_CTXT_TOOLBOX");
			values.Add("Solution node", "IDM_VS_CTXT_SOLNNODE");
			values.Add("Project node", "IDM_VS_CTXT_PROJNODE");
			values.Add("Solution folder node", "IDM_VS_CTXT_SOLNFOLDER");
			values.Add("Project item node", "IDM_VS_CTXT_ITEMNODE");
			values.Add("Folder node", "IDM_VS_CTXT_FOLDERNODE");
			values.Add("Web references node", "IDM_VS_CTXT_WEBREFFOLDER");
			values.Add("References node", "IDM_VS_CTXT_REFERENCE");
			values.Add("Web project node", "IDM_VS_CTXT_WEBPROJECT");
			values.Add("Web folder node", "IDM_VS_CTXT_WEBFOLDER");
			values.Add("Web project item node", "IDM_VS_CTXT_WEBITEMNODE");

			values.Add("Solution add context menu", "IDG_VS_CTXT_SOLUTION_ADD");
			values.Add("Project add context menu", "IDG_VS_CTXT_PROJECT_ADD");
		}

		#region Properties
		private static SortedDictionary<string, string> values;

		/// <summary>
		/// Gets the values.
		/// </summary>
		/// <value>The values.</value>
		public static SortedDictionary<string, string> Values
		{
			get { return values; }
		}
		#endregion
	}
}
